home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xmcd-1.4 / INSTALL < prev    next >
Encoding:
Text File  |  1995-05-10  |  13.6 KB  |  309 lines

  1. #
  2. # @(#)INSTALL    5.14 95/02/07
  3. #
  4. # xmcd - Motif(tm) CD Audio Player
  5. # cda  - Command-line CD Audio Player
  6. #
  7. # by Ti Kan
  8. #
  9.  
  10. Please read through the following notes before attempting to
  11. compile and install xmcd and cda.  If you encounter a problem,
  12. read the FAQ file.
  13.  
  14. You must have X11R4/Motif 1.1 or later to build xmcd.  Xmcd has been
  15. successfully built under X11R4 with Motif 1.1, and X11R5 or X11R6
  16. with Motif 1.2.
  17.  
  18. If you are running Motif 1.1, I recommend version 1.1.4 or later.
  19. Also, you must have an ANSI C compatible compilation environment.
  20.  
  21. Xmcd can be built using the native X libraries that are supplied with
  22. your OS release.  If you have XFree86 installed, you can also build
  23. xmcd using the libraries from the XFree86 distribution.  Make sure
  24. you use the right set of X include files to match!  Motif is not a
  25. part of the XFree86 package, so you will need to get it separately.
  26. Motif is available from various third party vendors for those OS
  27. platforms that do not come standard with the libraries and headers.
  28. If you cannot find a commercial Motif product for your platform
  29. you can also build the Motif library from the OSF sources (if you
  30. have the source license).
  31.  
  32. The cda utility requires named pipe (FIFO) support in your OS
  33. platform.  If your system does not support named pipes, you
  34. must edit the top level Imakefile or Makefile.std and remove
  35. the cda.d directory from the SUBDIRS definition.
  36.  
  37. If you do not have X11 or Motif, you can still build cda.  Edit
  38. the top level Makefile.std and remove xmcd.d from the SUBDIRS
  39. definition, and follow the instructions below for systems that
  40. do not have imake.
  41.  
  42.  
  43. Platform-specific Notes
  44. -----------------------
  45. All platforms:
  46.     If you use the GNU C compiler (gcc), do not use the -ansi
  47.     option.  The -ansi option changes the compiler's
  48.     interpretation of structure bit-fields and breaks both
  49.     xmcd and cda.
  50.  
  51. Apple A/UX 3.x on Macintosh:
  52.     Use gcc to compile the xmcd distribution.  You may have to add
  53.     an explicit -DmacII to CFLAGS if your C pre-processor does not
  54.     already define this.
  55.  
  56.     You are advised to make certain that xmkmf uses the X11R5 config
  57.     files (e.g., /usr/local/X11R5/lib/config).  The default config
  58.     files in Apple's distribution of X11R4 (/usr/lib/X11/config) will
  59.     require extensive hand-editing of the resulting Makefiles (to use
  60.     gcc instead of cc, shared-libs are not available, etc.).
  61.  
  62. Data General DG/UX on DG AViiON:
  63.     You should use the instructions below for systems without imake
  64.     to build this distribution, since DG/UX does not provide imake.
  65.     A makedgux.inc is provided, which you should rename as make.inc.
  66.  
  67. DEC OSF/1 on Alpha AXP:
  68.     See the README file for minimum operating system version
  69.     requirements.  Xmcd requires the C pre-processor flags -D__alpha
  70.     and -D__osf__ to be set.  This is normally pre-defined, but if
  71.     your environment does not, you will have to add them explicitly.
  72.  
  73. DEC Ultrix on MIPS-based DECstations:
  74.     See the README file for minimum operating system version
  75.     requirements.  Xmcd requires the C pre-processor flag -D__ultrix
  76.     to be set. This is normally pre-defined, but if your environment
  77.     does not, you will have to add them explicitly.  Also, check
  78.     the top level Makefile that's generated by imake.  There should
  79.     be a SHELL=/bin/sh5 line.  If there are any other SHELL= lines
  80.     they should be removed.
  81.  
  82. FreeBSD on x86:
  83.     See the README file for minimum operating system version
  84.     requirements.  Xmcd requires the C pre-processor flag -D__FreeBSD__
  85.     to be set.  This is done by default with the FreeBSD development
  86.     package.  If your system does not #define __FreeBSD__ for you, then
  87.     you will have to add -D__FreeBSD__ explicitly.
  88.  
  89. HP-UX on PA-RISC:
  90.     You may have to add an explicit -D__hpux to CFLAGS if your C
  91.     pre-processor does not already define this.  If the HP cc compiler
  92.     is used, you must enable ANSI C mode (using the -Aa or -Ae options,
  93.     depending on your HP-UX release).  You may also have to define
  94.     -D_HPUX_SOURCE to successfully compile xmcd.  See your cc(1) online
  95.     manual entry for details.
  96.  
  97. IBM AIX 3.2.x and 4.x on RS/6000 Power/PowerPC:
  98.     You may have to add an explicit -D_AIX to CFLAGS if your C
  99.     pre-processor does not already define this.  Also, you must ensure
  100.     that the _BSD flag is _not_ defined.
  101.  
  102. Linux on x86:
  103.     Xmcd requires the C pre-processor flag -Dlinux to be set.  This is
  104.     done by default with the XFree86 distribution that is included
  105.     with most Linux releases.  If your system does not #define linux
  106.     for you, then you will have to add -Dlinux explicitly.
  107.  
  108. SCO Open Desktop/SCO UNIX on x86:
  109.     Xmcd requires the C pre-processor flag -Dsco (lower-case) to be
  110.     set.  This is done by default on systems running the ODT
  111.     Development System.  If you are using XFree86, you must modify the
  112.     appropriate "OsDefines" line in your
  113.     /usr/X386/lib/X11/config/x386.cf file to include -Dsco.  Also, if
  114.     your imake configuration isn't fixed, you may need to explicitly
  115.     add -lintl and -lPW to your xmcd.d/Makefile in order to resolve
  116.     the regcmp(), regex() and alloca() routines.
  117.  
  118. Silicon Graphics Irix on SGI workstations:
  119.     Xmcd requires the C pre-processor flag -Dsgi to be set.  This is
  120.     normally pre-defined, but if your environment does not, you will
  121.     have to add them explicitly.
  122.  
  123. Stratus FTX SVR4 3.x on Stratus PA-RISC:
  124.     Xmcd requires the C pre-processor defines -D_FTX, -D__hppa and
  125.     -DSVR4.  These should be defined by default.  Note that this
  126.     release of xmcd/cda only supports the HP PA-RISC based Stratus
  127.     fault-tolerant servers.  Earlier Intel i860 and Motorola 68k 
  128.     based Stratus systems are not supported.
  129.  
  130. SunOS 4.1.x/Solaris 1.x on sparc:
  131.     Xmcd requires the C pre-processor define -Dsun, which should be
  132.     defined by default.  You must use the GNU C compiler (gcc) instead
  133.     of the cc compiler.  This is because cc under SunOS 4.1.x is not
  134.     ANSI compliant.
  135.  
  136. SunOS 5.x/Solaris 2.x on sparc/x86:
  137.     Xmcd requires the C pre-processor defines -DSVR4 and -Dsun.
  138.     These should be defined by default.  Xmcd also requires -Di386
  139.     on Intel x86 platforms.  Also, you may need to add -lgen to
  140.     the xmcd.d/Makefile to resolve the regcmp() and regex() routines.
  141.  
  142.     Be sure that /usr/ccs/bin is before /usr/ucb in your PATH
  143.     environment variable, to get the appropriate cc compiler.
  144.     This ensures that the proper SVR4 header files are used to compile
  145.     the distribution.
  146.  
  147.     On Solaris 2.2 or later, you may wish to add -DSOL2_RSENSE to
  148.     the libdi.d/Makefile enable support for the auto request-sense
  149.     feature.
  150.  
  151. UNIX SVR4.x on x86:
  152.     Xmcd requires the C pre-processor flag -DSVR4 and -Di386
  153.     to be set.  This is normally pre-defined, but if your environment
  154.     does not, you will have to add them explicitly.  On SVR4.2MP
  155.     systems you may need to add -lXimp and -lgen to xmcd.d/Makefile
  156.     in order to resolve some external symbols Motif requires.
  157.  
  158.  
  159. Xmcd Demo Mode
  160. --------------
  161.  
  162. You must compile on one of the supported UNIX OS flavors (See the
  163. README file for a list of the supported OS environments) to get a
  164. real functional xmcd.  You can compile on other platforms, but you
  165. will end up with a "demo" version of xmcd.
  166.  
  167. You can also force the build of the demo version by specifying
  168. -DDEMO_ONLY when compiling in the libdi.d directory.  See the
  169. comments in libdi.d/Imakefile.
  170.  
  171. It should be possible to build the demo-only xmcd on any platform
  172. that supports compiling a Motif application.  Minor porting work
  173. may be required on systems that aren't POSIX-compliant.
  174.  
  175. The "demo" version does not actually control or respond to a real
  176. CD-ROM device.  Instead, a built-in CD-ROM simulater is used,
  177. which allows you to play with the look-and-feel of xmcd/cda and try
  178. the behavior of all the controls and functions.
  179.  
  180. If you are running the demo version of xmcd/cda, the following message
  181. will be displayed on stderr when you start the program:
  182.  
  183.     CD-ROM simulator version x.xx (pid=xxxxx) starting...
  184.  
  185.  
  186. Build instructions
  187. ------------------
  188.  
  189. If your system has imake (most supported systems do), use these
  190. steps to build xmcd and cda:
  191.  
  192.     1. Take a look at the Imakefiles in various directories, read
  193.        the comments, and make changes as appropriate.  Pay special
  194.        attention to the comments in xmcd.d/Imakefile pertaining to
  195.        the LOCAL_LIBRARIES=XmClientLibs line.  You may need to change
  196.        it in order to successfully compile xmcd.
  197.     2. Change to the xmcd top level source directory.
  198.     3. Type "xmkmf" (or "imake -DUseInstalled -I/usr/lib/X11/config")
  199.     4. Type "make Makefiles"
  200.     5. Type "make depend" (this step is required only if you intend
  201.        to modify the source code or header files).
  202.     6. Type "make"
  203.  
  204. If your system does not have imake, use these steps to build xmcd:
  205.  
  206.     1. Change to the xmcd top level source directory.
  207.     2. Type "cp Makefile.std Makefile"
  208.     3. Type "cp common.d/Makefile.std common.d/Makefile"
  209.     4. Type "cp libdi.d/Makefile.std libdi.d/Makefile"
  210.     5. Type "cp xmcd.d/Makefile.std xmcd.d/Makefile"
  211.     6. Type "cp cda.d/Makefile.std cda.d/Makefile"
  212.     7. Type "cp wm2xmcd.d/Makefile.std wm2xmcd.d/Makefile"
  213.     8. Edit make.inc.  You will most certainly need to make some
  214.        changes in this file to make things compile on your OS
  215.        platform.
  216.     9. Type "make"
  217.  
  218.  
  219. Install instructions
  220. --------------------
  221.  
  222. 1. Log in as the super-user and change to the xmcd source directory.
  223.    Super-user status is used to set the permissions of all files
  224.    and ensures that you have write privilege to all target directories.
  225.    If any target directory is an NFS remote resource, however, the
  226.    super-user status may be insufficient and you will need to manually
  227.    install some files and set their permissions.
  228. 2. You may want to strip(1) the symbol table of the cda.d/cda,
  229.    xmcd.d/xmcd and wm2xmcd.d/wm2xmcd binaries to reduce their size.
  230.    On some platforms, you can also use mcs(1) with the -d option to
  231.    remove the binary comment section.
  232. 3. Type "make install".  Answer all questions to configure xmcd and cda.
  233.    This step is REQUIRED.  If you do not configure the software using
  234.    "make install" it will not run correctly.  Install errors, if any,
  235.    are recorded in the /tmp/xmcd.err file.
  236. 4. Edit LIBDIR/xmcd/config/common.cfg and make sure that the "device:"
  237.    path matches the default raw CD-ROM device on your system (LIBDIR
  238.    varies depending on the OS platform environment, but is typically
  239.    /usr/lib/X11).
  240. 5. Edit LIBDIR/app-defaults/XMcd and make sure that the "XMcd*libdir:"
  241.    path is correct.  Xmcd will not run properly if this is wrong.
  242. 6. You may need to change the XMcd*cddbMailCmd resource in the
  243.    LIBDIR/app-defaults/XMcd file to match the requirements of your
  244.    local mailer.  For example, A/UX sites should use mush(1) instead
  245.    of mail(1).  You must use a mailer that can accept a command-line
  246.    argument to specify the mail Subject.  Otherwise, the CDDB mail
  247.    will be rejected by the archive server.
  248. 7. The install.sh script only places the man page raw files in the
  249.    designated directories.  Depending on your OS platform, you may
  250.    need to hand format the files using nroff(1) with the -man option.
  251.  
  252.  
  253. To make a binary release
  254. ------------------------
  255.  
  256. 1. Follow the Build Instructions as above.
  257. 2. Make sure the binary you build has the proper mix of static vs.
  258.    shared library components for your target system. In particular,
  259.    if your target system does not have Motif installed, then you
  260.    will want to statically link libXm.a.  The same consideration
  261.    should be given to libXt, libXext, libX11, libnsl, libsocket,
  262.    libc, and others where applicable.  The more libraries you link
  263.    statically, the less platform-dependent the binary is, but the
  264.    larger it becomes.  In some cases, even a fully static xmcd binary
  265.    will still have problem running if the target system has different
  266.    kernel-to-library interfaces than the compiling system.
  267. 2. Run the "misc.d/makerel.sh" script.  The script generates a file
  268.    "xmcdbin.tar.gz", which is a "gzip"ed  tar format file containing
  269.    all files necessary for a xmcd binary distribution.  It also
  270.    creates a "xmcdbin.uue" file, which is a uuencoded version of
  271.    the xmcdbin.tar.gz file suitable for transmission via electronic
  272.    mail.  This script assumes the existence of the GNU zip (gzip)
  273.    utility.
  274. 3. Consult the OSF/Motif licensing terms pertaining to your version
  275.    of Motif before distributing binaries containing Motif code to
  276.    others.
  277.  
  278.  
  279. To make a source release
  280. ------------------------
  281.  
  282. 1. Run the "misc.d/makesrc.sh" script.  The script generates a file
  283.    "xmcdsrc.tar.gz", which is a "gzip"ed tar format file containing
  284.    all xmcd source files.  It also creates a "xmcdsrc.uue" file,
  285.    which is a uuencoded version of the xmcdsrc.tar.gz file suitable
  286.    for transmission via electronic mail.  This script assumes the
  287.    existence of the GNU zip (gzip) utility.
  288.  
  289.    Alternatively, you can use the "misc.d/makeshar.sh" script.  This
  290.    generates a multi-part shar archive of the source code instead.
  291.    Note that makeshar.sh assumes the existence of the "shar" program
  292.    as provided in the "cshar" package from Rich Salz.  Other shar
  293.    implementations may support different command line parameters
  294.    which is incompatible with cshar.  The makeshar.sh must be modified
  295.    to accommodate those.
  296.  
  297.  
  298. Additional Notes:
  299. -----------------
  300.  
  301. The "configure.sh" shell script supplied with this distribution is
  302. not intended to be run directly in the libdi.d source directory.
  303. You should use "make install" to install the package, which causes
  304. configure.sh to be executed with the proper environment.  If you
  305. must reconfigure xmcd/cda, run the copy of "configure.sh" as
  306. installed in LIBDIR/xmcd/config (where LIBDIR is typically
  307. /usr/lib/X11).
  308.  
  309.